package com.engineering.elink.service;

import java.util.Map;

import com.engineering.elink.co.PersonMuitlTypeCo;
import com.engineering.elink.co.PersonUpdateCo;
import com.engineering.elink.domain.Person;

public interface PersonService {
	/**
	 * 个人注册流程
	 * @param verifyToken
	 * @param verifyCode
	 */
	public void personRegWithVerifyCode (String verifyToken, String verifyCode);
	public boolean personRegWithSendPhoneCode (String phone, String verifyToken, String verifyCode);
	public Map<String,Object> personRegWithBaseInfo (String email, String phone,String passwd, String verifyToken, String verifyCode);
	
	/**
	 * 个人登录
	 * @param account
	 * @param passwd
	 * @return
	 */
	public Map<String,Object> login(String account, String passwd);
	
	/**
	 * 修改个人中心各种分类 (职业状态，职业，专业，工程类目)
	 * @param personMuitlTypeCo
	 * @return
	 */
	public boolean modifyMutilType (PersonMuitlTypeCo personMuitlTypeCo);
	
	/**
	 * 获取个人档案
	 * @param userId
	 * @return
	 */
	public Map<String,Object> getPersonInfo (String userId);
	
	/**
	 * 修改个人档案
	 * @param person
	 * @return
	 */
	public boolean modifyPersonInfo (PersonUpdateCo personUpdateCo);
	
	/**
	 * 获取自己的顶部个人信息
	 * @param userId
	 * @return
	 */
	public Map<String,Object> getBasePersonInfoByMine (String userId);
	
	/**
	 * 获取别人的顶部个人信息
	 * @param userId
	 * @param otherUserId
	 * @return
	 */
	public Map<String,Object> getBasePersonInfoByOther (String userId, String otherUserId);

	/**
	 * 获取个人全部信息
	 * @param userId
	 * @return
	 */
	public Person getPersonAllInfo (String userId);
	
}
